package com.eaoa.vo.pub.base;

import java.io.Serializable;


/**
 * This is an object that contains data related to the pub_billlog table.
 * Do not modify this class because it will be overwritten if the configuration file
 * related to this class is modified.
 *
 * @hibernate.class
 *  table="pub_billlog"
 */

public abstract class BasePubBilllog  implements Serializable {

	public static String REF = "PubBilllog";
	public static String PROP_CONTEXT = "context";
	public static String PROP_BILLLOGNO = "billlogno";
	public static String PROP_BILLNO = "billno";
	public static String PROP_LOGTYPE = "logtype";
	public static String PROP_USERNO = "userno";
	public static String PROP_BILLTYPE = "billtype";
	public static String PROP_CREATEDATE = "createdate";
	public static String PROP_ISSHOW = "isshow";
	public static String PROP_USERNAME = "username";


	// constructors
	public BasePubBilllog () {
		initialize();
	}

	/**
	 * Constructor for primary key
	 */
	public BasePubBilllog (java.lang.Long billlogno) {
		this.setBilllogno(billlogno);
		initialize();
	}

	/**
	 * Constructor for required fields
	 */
	public BasePubBilllog (
		java.lang.Long billlogno,
		java.lang.Long billno,
		java.lang.String logtype) {

		this.setBilllogno(billlogno);
		this.setBillno(billno);
		this.setLogtype(logtype);
		initialize();
	}

	protected void initialize () {}



	private int hashCode = Integer.MIN_VALUE;

	// primary key
	private java.lang.Long billlogno;

	// fields
	private java.lang.Long billno;
	private java.lang.String billtype;
	private java.lang.Long userno;
	private java.lang.String username;
	private java.util.Date createdate;
	private java.lang.String isshow;
	private java.lang.String context;
	private java.lang.String logtype;



	/**
	 * Return the unique identifier of this class
     * @hibernate.id
     *  generator-class="increment"
     *  column="billlogno"
     */
	public java.lang.Long getBilllogno () {
		return billlogno;
	}

	/**
	 * Set the unique identifier of this class
	 * @param billlogno the new ID
	 */
	public void setBilllogno (java.lang.Long billlogno) {
		this.billlogno = billlogno;
		this.hashCode = Integer.MIN_VALUE;
	}




	/**
	 * Return the value associated with the column: billno
	 */
	public java.lang.Long getBillno () {
		return billno;
	}

	/**
	 * Set the value related to the column: billno
	 * @param billno the billno value
	 */
	public void setBillno (java.lang.Long billno) {
		this.billno = billno;
	}



	/**
	 * Return the value associated with the column: billtype
	 */
	public java.lang.String getBilltype () {
		return billtype;
	}

	/**
	 * Set the value related to the column: billtype
	 * @param billtype the billtype value
	 */
	public void setBilltype (java.lang.String billtype) {
		this.billtype = billtype;
	}



	/**
	 * Return the value associated with the column: userno
	 */
	public java.lang.Long getUserno () {
		return userno;
	}

	/**
	 * Set the value related to the column: userno
	 * @param userno the userno value
	 */
	public void setUserno (java.lang.Long userno) {
		this.userno = userno;
	}



	/**
	 * Return the value associated with the column: username
	 */
	public java.lang.String getUsername () {
		return username;
	}

	/**
	 * Set the value related to the column: username
	 * @param username the username value
	 */
	public void setUsername (java.lang.String username) {
		this.username = username;
	}



	/**
	 * Return the value associated with the column: createdate
	 */
	public java.util.Date getCreatedate () {
		return createdate;
	}

	/**
	 * Set the value related to the column: createdate
	 * @param createdate the createdate value
	 */
	public void setCreatedate (java.util.Date createdate) {
		this.createdate = createdate;
	}



	/**
	 * Return the value associated with the column: isshow
	 */
	public java.lang.String getIsshow () {
		return isshow;
	}

	/**
	 * Set the value related to the column: isshow
	 * @param isshow the isshow value
	 */
	public void setIsshow (java.lang.String isshow) {
		this.isshow = isshow;
	}



	/**
	 * Return the value associated with the column: context
	 */
	public java.lang.String getContext () {
		return context;
	}

	/**
	 * Set the value related to the column: context
	 * @param context the context value
	 */
	public void setContext (java.lang.String context) {
		this.context = context;
	}



	/**
	 * Return the value associated with the column: logtype
	 */
	public java.lang.String getLogtype () {
		return logtype;
	}

	/**
	 * Set the value related to the column: logtype
	 * @param logtype the logtype value
	 */
	public void setLogtype (java.lang.String logtype) {
		this.logtype = logtype;
	}




	public boolean equals (Object obj) {
		if (null == obj) return false;
		if (!(obj instanceof com.eaoa.vo.pub.PubBilllog)) return false;
		else {
			com.eaoa.vo.pub.PubBilllog pubBilllog = (com.eaoa.vo.pub.PubBilllog) obj;
			if (null == this.getBilllogno() || null == pubBilllog.getBilllogno()) return false;
			else return (this.getBilllogno().equals(pubBilllog.getBilllogno()));
		}
	}

	public int hashCode () {
		if (Integer.MIN_VALUE == this.hashCode) {
			if (null == this.getBilllogno()) return super.hashCode();
			else {
				String hashStr = this.getClass().getName() + ":" + this.getBilllogno().hashCode();
				this.hashCode = hashStr.hashCode();
			}
		}
		return this.hashCode;
	}


	public String toString () {
		return super.toString();
	}


}